/*
 * Copyright (c) 2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef ARK_WEB_BRIDGE_TYPES_H_
#define ARK_WEB_BRIDGE_TYPES_H_
#pragma once

enum ArkWebBridgeType {
    /*Note: NWeb interface bridge type*/
    ARK_WEB_NWEB_INTERFACE_INIT = 0,

    ARK_WEB_ACCESSIBILITY_EVENT_CALLBACK = 0,
    ARK_WEB_ACCESSIBILITY_NODE_INFO = 1,
    ARK_WEB_ACCESS_REQUEST = 2,
    ARK_WEB_BOOL_VALUE_CALLBACK = 3,
    ARK_WEB_CONSOLE_LOG = 4,
    ARK_WEB_CONTEXT_MENU_CALLBACK = 5,
    ARK_WEB_CONTEXT_MENU_PARAMS = 6,
    ARK_WEB_CONTROLLER_HANDLER = 7,
    ARK_WEB_COOKIE_MANAGER = 8,
    ARK_WEB_DATA_BASE = 9,
    ARK_WEB_DATA_RESUBMISSION_CALLBACK = 10,
    ARK_WEB_DATE_TIME_CHOOSER_CALLBACK = 11,
    ARK_WEB_DATE_TIME_SUGGESTION = 12,
    ARK_WEB_DOH_CONFIG = 13,
    ARK_WEB_DOWNLOAD_CALLBACK = 14,
    ARK_WEB_DOWNLOAD_MANAGER = 15,
    ARK_WEB_DRAG_DATA = 16,
    ARK_WEB_ENGINE = 17,
    ARK_WEB_ENGINE_INIT_ARGS = 18,
    ARK_WEB_FILE_SELECTOR_PARAMS = 19,
    ARK_WEB_FIND_CALLBACK = 20,
    ARK_WEB_FULL_SCREEN_EXIT_HANDLER = 21,
    ARK_WEB_GEO_LOCATION_CALLBACK = 22,
    ARK_WEB_HANDLER = 23,
    ARK_WEB_HISTORY_ITEM = 24,
    ARK_WEB_HISTORY_LIST = 25,
    ARK_WEB_HIT_TEST_RESULT = 26,
    ARK_WEB_JS_DIALOG_RESULT = 27,
    ARK_WEB_JS_HTTP_AUTH_RESULT = 28,
    ARK_WEB_JS_PROXY_CALLBACK = 29,
    ARK_WEB_JS_RESULT_CALLBACK = 30,
    ARK_WEB_JS_SSL_ERROR_RESULT = 31,
    ARK_WEB_JS_SSL_SELECT_CERT_RESULT = 32,
    ARK_WEB_KEY_EVENT = 33,
    ARK_WEB_LOAD_COMMITTED_DETAILS = 34,
    ARK_WEB_LONG_VALUE_CALLBACK = 35,
    ARK_WEB_MESSAGE = 36,
    ARK_WEB_MESSAGE_VALUE_CALLBACK = 37,
    ARK_WEB_NATIVE_EMBED_DATA_INFO = 38,
    ARK_WEB_NATIVE_EMBED_INFO = 39,
    ARK_WEB_NATIVE_EMBED_TOUCH_EVENT = 40,
    ARK_WEB_NWEB = 41,
    ARK_WEB_NWEB_CREATE_INFO = 42,
    ARK_WEB_OUTPUT_FRAME_CALLBACK = 43,
    ARK_WEB_PREFERENCE = 44,
    ARK_WEB_QUICK_MENU_CALLBACK = 45,
    ARK_WEB_QUICK_MENU_PARAMS = 46,
    ARK_WEB_RELEASE_SURFACE_CALLBACK = 47,
    ARK_WEB_RESOURCE_READY_CALLBACK = 48,
    ARK_WEB_SCREEN_CAPTURE_ACCESS_REQUEST = 49,
    ARK_WEB_SCREEN_LOCK_CALLBACK = 50,
    ARK_WEB_SELECT_POPUP_MENU_CALLBACK = 51,
    ARK_WEB_SELECT_POPUP_MENU_ITEM = 52,
    ARK_WEB_SELECT_POPUP_MENU_PARAM = 53,
    ARK_WEB_STRING_VALUE_CALLBACK = 54,
    ARK_WEB_STRING_VECTOR_VALUE_CALLBACK = 55,
    ARK_WEB_TOUCH_HANDLE_STATE = 56,
    ARK_WEB_TOUCH_POINT_INFO = 57,
    ARK_WEB_URL_RESOURCE_ERROR = 58,
    ARK_WEB_URL_RESOURCE_REQUEST = 59,
    ARK_WEB_URL_RESOURCE_RESPONSE = 60,
    ARK_WEB_VALUE = 61,
    ARK_WEB_WEB_STORAGE = 62,
    ARK_WEB_WEB_STORAGE_ORIGIN = 63,
    ARK_WEB_WEB_STORAGE_ORIGIN_VECTOR_VALUE_CALLBACK = 64,
    ARK_WEB_LARGEST_CONTENTFUL_PAINT_DETAILS = 65,
    ARK_WEB_FIRST_MEANINGFUL_PAINT_DETAILS = 66,
    ARK_WEB_JS_ALL_SSL_ERROR_RESULT = 67,
    ARK_WEB_ENGINE_PREFETCH_ARGS = 68,
    ARK_WEB_GESTURE_EVENT_RESULT = 69,
    ARK_WEB_DATE_TIME_CHOOSER = 70,
    ARK_WEB_DRAG_EVENT = 71,
    ARK_WEB_IMAGE_OPTIONS = 72,
    ARK_WEB_SCREEN_CAPTURE_CONFIG = 73,
    ARK_WEB_SELECT_MENU_BOUND = 74,
    ARK_WEB_TOUCH_HANDLE_HOT_ZONE = 75,
    ARK_WEB_CACHE_OPTIONS = 76,
    ARK_WEB_CREATE_NATIVE_MEDIA_PLAYER_CALLBACK = 77,
    ARK_WEB_NATIVE_MEDIA_PLAYER_BRIDGE = 78,
    ARK_WEB_NATIVE_MEDIA_PLAYER_HANDLER = 79,
    ARK_WEB_NATIVE_MEDIA_PLAYER_SURFACE_INFO = 80,
    ARK_WEB_MEDIA_INFO = 81,
    ARK_WEB_MEDIA_SOURCE_INFO = 82,
    ARK_WEB_CURSOR_INFO = 83,
    ARK_WEB_APP_LINK_CALLBACK = 84,
    ARK_WEB_CUSTOM_KEYBOARD_HANDLER = 85,
    ARK_WEB_SYSTEM_CONFIGURATION = 86,
    ARK_WEB_ADS_BLOCK_MANAGER = 87,
    ARK_WEB_SPANSTRING_CONVERT_HTML_CALLBACK = 88,
    ARK_WEB_ARRAY_BUFFER_VALUE_CALLBACK = 89,
    ARK_WEB_PDFCONFIG_ARGS = 90,
    ARK_WEB_MOUSE_EVENT = 91,

    /*Note: The end of nweb interface bridge type*/
    ARK_WEB_NWEB_INTERFACE_BUTT,

    /*Note: Adapter interface bridge type*/
    ARK_WEB_ADAPTER_INTERFACE_INIT = 10000,

    ARK_AAFWK_APP_MGR_CLIENT_ADAPTER = 10000,
    ARK_AAFWK_RENDER_SCHEDULER_HOST_ADAPTER = 10001,
    ARK_ACCESS_TOKEN_ADAPTER = 10002,
    ARK_ASHMEM_ADAPTER = 10003,
    ARK_AUDIO_CAPTURER_ADAPTER = 10004,
    ARK_AUDIO_CAPTURER_READ_CALLBACK_ADAPTER = 10005,
    ARK_AUDIO_MANAGER_CALLBACK_ADAPTER = 10006,
    ARK_AUDIO_MANAGER_DEVICE_CHANGE_CALLBACK_ADAPTER = 10007,
    ARK_AUDIO_RENDERER_ADAPTER = 10008,
    ARK_AUDIO_RENDERER_CALLBACK_ADAPTER = 10009,
    ARK_AUDIO_SYSTEM_MANAGER_ADAPTER = 10010,
    ARK_BACKGROUND_TASK_ADAPTER = 10011,
    ARK_BATTERY_EVENT_CALLBACK = 10012,
    ARK_BATTERY_INFO = 10013,
    ARK_BATTERY_MGR_CLIENT_ADAPTER = 10014,
    ARK_CAMERA_BUFFER_LISTENER_ADAPTER = 10015,
    ARK_CAMERA_MANAGER_ADAPTER = 10016,
    ARK_CAMERA_STATUS_CALLBACK_ADAPTER = 10017,
    ARK_CAMERA_SURFACE_ADAPTER = 10018,
    ARK_CAMERA_SURFACE_BUFFER_ADAPTER = 10019,
    ARK_CERT_MANAGER_ADAPTER = 10020,
    ARK_DATASHARE_ADAPTER = 10021,
    ARK_DATE_TIME_FORMAT_ADAPTER = 10022,
    ARK_DECODER_CALLBACK_ADAPTER = 10023,
    ARK_DISPLAY_ADAPTER = 10024,
    ARK_DISPLAY_LISTENER_ADAPTER = 10025,
    ARK_DISPLAY_MANAGER_ADAPTER = 10026,
    ARK_EDM_POLICY_CHANGED_EVENT_CALLBACK_ADAPTER = 10027,
    ARK_ENTERPRISE_DEVICE_MANAGEMENT_ADAPTER = 10028,
    ARK_EVENT_HANDLER_ADAPTER = 10029,
    ARK_EVENT_HANDLER_FDLISTENER_ADAPTER = 10030,
    ARK_HI_SYS_EVENT_ADAPTER = 10031,
    ARK_HI_TRACE_ADAPTER = 10032,
    ARK_IBUFFER_CONSUMER_LISTENER_ADAPTER = 10033,
    ARK_ICONSUMER_SURFACE_ADAPTER = 10034,
    ARK_IMFADAPTER = 10035,
    ARK_IMFTEXT_LISTENER_ADAPTER = 10036,
    ARK_KEYSTORE_ADAPTER = 10037,
    ARK_LOCATION_CALLBACK_ADAPTER = 10038,
    ARK_LOCATION_INFO = 10039,
    ARK_LOCATION_INSTANCE = 10040,
    ARK_LOCATION_PROXY_ADAPTER = 10041,
    ARK_LOCATION_REQUEST_CONFIG = 10042,
    ARK_MEDIA_CODEC_DECODER_ADAPTER = 10043,
    ARK_MMIADAPTER = 10044,
    ARK_MMIINPUT_LISTENER_ADAPTER = 10045,
    ARK_MMILISTENER_ADAPTER = 10046,
    ARK_NATIVE_IMAGE_ADAPTER = 10047,
    ARK_NET_CONN_CALLBACK = 10048,
    ARK_NET_CONNECT_ADAPTER = 10049,
    ARK_NET_PROXY_ADAPTER = 10050,
    ARK_NET_PROXY_EVENT_CALLBACK_ADAPTER = 10051,
    ARK_OHOS_ADAPTER_HELPER = 10052,
    ARK_OHOS_FILE_MAPPER = 10053,
    ARK_OHOS_INIT_WEB_ADAPTER = 10054,
    ARK_OHOS_RESOURCE_ADAPTER = 10055,
    ARK_OHOS_WEB_DATA_BASE_ADAPTER = 10056,
    ARK_OHOS_WEB_DNS_DATA_BASE_ADAPTER = 10057,
    ARK_OHOS_WEB_PERMISSION_DATA_BASE_ADAPTER = 10058,
    ARK_PLAYER_ADAPTER = 10059,
    ARK_PLAYER_CALLBACK_ADAPTER = 10060,
    ARK_POWER_MGR_CLIENT_ADAPTER = 10061,
    ARK_PRINT_DOCUMENT_ADAPTER_ADAPTER = 10062,
    ARK_PRINT_MANAGER_ADAPTER = 10063,
    ARK_PRINT_WRITE_RESULT_CALLBACK_ADAPTER = 10064,
    ARK_RES_SCHED_CLIENT_ADAPTER = 10065,
    ARK_RUNNING_LOCK_ADAPTER = 10066,
    ARK_SCREEN_CAPTURE_ADAPTER = 10067,
    ARK_SCREEN_CAPTURE_CALLBACK_ADAPTER = 10068,
    ARK_SOC_PERF_CLIENT_ADAPTER = 10069,
    ARK_SURFACE_BUFFER_ADAPTER = 10070,
    ARK_SYSTEM_PROPERTIES_ADAPTER = 10071,
    ARK_TIMEZONE_EVENT_CALLBACK_ADAPTER = 10072,
    ARK_VSYNC_ADAPTER = 10073,
    ARK_WEB_RUN_INITED_CALLBACK = 10074,
    ARK_WEB_TIMEZONE_INFO = 10075,
    ARK_WINDOW_ADAPTER = 10076,
    ARK_PASTE_BOARD_CLIENT_ADAPTER = 10077,
    ARK_PASTE_BOARD_OBSERVER_ADAPTER = 10078,
    ARK_PASTE_DATA_ADAPTER = 10079,
    ARK_PASTE_DATA_RECORD_ADAPTER = 10080,
    ARK_IMFADAPTER_FUNCTION_KEY_ADAPTER = 10081,
    ARK_MEDIA_CODEC_ADAPTER = 10082,
    ARK_CODEC_CALLBACK_ADAPTER = 10083,
    ARK_PRODUCER_SURFACE_ADAPTER = 10084,
    ARK_MEDIA_CODEC_LIST_ADAPTER = 10085,
    ARK_FLOWBUFFER_ADAPTER = 10086,
    ARK_AUDIO_RENDERER_OPTIONS_ADAPTER = 10087,
    ARK_AUDIO_CAPTURE_INFO_ADAPTER = 10088,
    ARK_AUDIO_ENC_INFO_ADAPTER = 10089,
    ARK_AUDIO_INFO_ADAPTER = 10090,
    ARK_VIDEO_CAPTURE_INFO_ADAPTER = 10091,
    ARK_VIDEO_ENC_INFO_ADAPTER = 10092,
    ARK_VIDEO_INFO_ADAPTER = 10093,
    ARK_RECORDER_INFO_ADAPTER = 10094,
    ARK_SCREEN_CAPTURE_CONFIG_ADAPTER = 10095,
    ARK_BUFFER_DESC_ADAPTER = 10096,
    ARK_AUDIO_CAPTURER_OPTIONS_ADAPTER = 10097,
    ARK_BUFFER_REQUEST_CONFIG_ADAPTER = 10098,
    ARK_BUFFER_FLUSH_CONFIG_ADAPTER = 10099,
    ARK_FRAME_AVAILABLE_LISTENER = 10100,
    ARK_IMFCURSOR_INFO_ADAPTER = 10101,
    ARK_IMFINPUT_ATTRIBUTE_ADAPTER = 10102,
    ARK_IMFSELECTION_RANGE_ADAPTER = 10103,
    ARK_IMFTEXT_CONFIG_ADAPTER = 10104,
    ARK_DECODER_FORMAT_ADAPTER = 10105,
    ARK_CODEC_CONFIG_PARA_ADAPTER = 10106,
    ARK_BUFFER_INFO_ADAPTER = 10107,
    ARK_OHOS_BUFFER_ADAPTER = 10108,
    ARK_CODEC_FORMAT_ADAPTER = 10109,
    ARK_CAPABILITY_DATA_ADAPTER = 10110,
    ARK_MMIDEVICE_INFO_ADAPTER = 10111,
    ARK_CLIP_BOARD_IMAGE_DATA_ADAPTER = 10112,
    ARK_AUDIO_INTERRUPT_ADAPTER = 10113,
    ARK_AUDIO_DEVICE_DESC_ADAPTER = 10114,
    ARK_VIDEO_CAPTURE_PARAMS_ADAPTER = 10115,
    ARK_VIDEO_CONTROL_SUPPORT_ADAPTER = 10116,
    ARK_FORMAT_ADAPTER = 10117,
    ARK_VIDEO_DEVICE_DESCRIPTOR_ADAPTER = 10118,
    ARK_VIDEO_CAPTURE_RANGE_ADAPTER = 10119,
    ARK_CAMERA_ROTATION_INFO_ADAPTER = 10120,
    ARK_AI_ENGINE_ADAPTER = 10121,
    ARK_MEDIA_AVSESSION_METADATA_ADAPTER = 10122,
    ARK_MEDIA_AVSESSION_POSITION_ADAPTER = 10123,
    ARK_MEDIA_AVSESSION_ADAPTER = 10124,
    ARK_MEDIA_AVSESSION_CALLBACK_ADAPTER = 10125,
    ARK_OHOS_IMAGE_DECODER_ADAPTER = 10126,
    ARK_AAFWK_BROWSER_CLIENT_ADAPTER = 10127,
    ARK_AAFWK_BROWSER_HOST_ADAPTER = 10128,
    ARK_AUDIO_OUTPUT_CHANGE_CALLBACK_ADAPTER = 10129,
    ARK_SENSOR_ADAPTER = 10130,
    ARK_SENSOR_CALLBACK_ADAPTER = 10131,
    ARK_NET_CAPABILITIES_ADAPTER = 10132,
    ARK_NET_CONNECTION_PROPERTIES_ADAPTER = 10133,
    ARK_FOLD_STATUS_LISTENER_ADAPTER = 10134,
    ARK_OHOS_NATIVE_BUFFER_ADAPTER = 10135,
    ARK_NATIVE_BUFFER_CONFIG_ADAPTER = 10136,
    
    /*Note: The end of adapter interface bridge type*/
    ARK_WEB_ADAPTER_INTERFACE_BUTT,
};

#endif // ARK_WEB_BRIDGE_TYPES_H_
